//在使用toast方法时，可以传入参数，也可以不传入参数
//如果需要传入参数，要传入对象作为参数
// const toast = (options={}) =>{}

const toast = ({
  title = "数据加载中...",
  icon = "none",
  duration = 2000,
  mask = true,
} = {}) => {
  //如果用户传入对象作为参数
  //在形参位置通过解构的方法获取用户传入的参数，同时设置默认值
  wx.showToast({
    title,
    icon,
    duration,
    mask,
  });
};

const modal = (options = {}) => {
  return new Promise((resolve) => {
    //默认参数
    const defaultOpt = {
      title: "提示",
      content: "您确定执行该操作吗？",
      confirmColor: "#f3514f",
    };

    //通过Objet.assign方法将参数进行合并
    const opts = Object.assign({}, defaultOpt, options);

    wx.showModal({
      ...opts,
      complete({ confirm, cancel }) {
        confirm && resolve(true);
        cancel && resolve(false);
      },
    });
  });
};
//如果想挂载到wx全局对象上这种写法生效，要先执行一次
wx.toast = toast;
wx.modal = modal;

//如果其他.js文件。需要使用toast方法
//需要先导入toast，然后调用
export { toast, modal };
